Interactive routing system and method

ABSTRACT

Systems and methods include sending a query over a short-message service (SMS) text service responsive to an advertisement, and receiving a responsive short-message service (SMS) text message in response to the query, the responsive SMS text message including a personalized enhanced message including a publicly-accessible link to display a personalized video that combines information from a relational database. The responsive short-message service (SMS) text message includes metadata collected from a sender of the query via tracking of interactions via a website hosting the advertisement.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a Continuation of U.S. application Ser. No.15/787,594, filed Oct. 18, 2017 titled “INTERACTIVE MESSAGING SYSTEM”,which claims the benefit of U.S. Provisional Application No. 60/409,522filed Oct. 18, 2016, entitled “INTERACTIVE MESSAGING SYSTEM”, both ofwhich are hereby incorporated by reference in its entirety.

FIELD OF EMBODIMENTS HEREIN

Embodiments herein relate generally to the field of interactive routing.

BACKGROUND

The discussion below is merely provided for general backgroundinformation and is not intended as an aid in determining the scope ofthe claimed subject matter.

Interactions between information providers and information seekers oftenrequire real-time responsiveness. As a result, information providers usethe Internet, cellular services and other modalities to interact withinformation seekers to increase responsiveness and remain competitive.These interactions may include informational requests, responses toqueries, and providing data to information seekers. One method ofinteracting includes text messaging and email messaging. An importantaspect of responsiveness is the routing required for interactions. Newermodalities of interaction require newer systems and methods toaccommodate the newer modalities. A simple phone call and written recordof contacts is no longer sufficient to accommodate today's society. Evenemail correspondence is considered too slow in some industries. The typeof correspondence required to be competitive not only includesresponsive information over different modalities of interaction, butinclude enhanced communication capable of delivering timely enhancedinformation. As a result, there is a need for systems and methods thataccounts for the type of responsiveness required to be competitive.

SUMMARY

A method for interactive routing includes, but is not limited to,receiving a short-message service (SMS) text message, the SMS textmessage including a phone number associated with the SMS text message,and a message body; searching a database coupled to the server toretrieve stored data associated with the phone number associated withthe SMS text message; bundling the stored data with the message body ofthe SMS text message to create an enhanced message including apublicly-accessible information link to display a video; forwarding theenhanced message according to predetermined information providerinstructions; and transmitting the enhanced message as an SMS textmessage to one or more information requesters based on the predeterminedcriteria.

In one embodiment, the bundling the stored data with the message body ofthe SMS text message to create an enhanced message includespersonalizing the enhanced message to include sender-identityinformation, and combining metadata according include in the enhancedmessage the publicly-accessible link to display the personalized videovia a video combination engine to combine information from a relationaldatabase.

In another embodiment, the searching a database coupled to the server toretrieve stored data associated with the phone number associated withthe SMS text message includes retrieving metadata collected from aninformation requester via tracking of interactions of the informationrequester on a website associated with the server.

Another embodiment is directed to a system including a processor and amemory comprising computer code executed using the processor, in whichcomputer code implements: receiving a short-message service (SMS) textmessage, the SMS text message including a phone number associated withthe SMS text message, and a message body; searching the memory toretrieve stored data associated with the phone number associated withthe SMS text message; bundling the stored data with the message body ofthe SMS text message to create an enhanced message including apublicly-accessible information link to display a video; and atransceiver coupled to the memory, the transceiver configured to forwardthe enhanced message according to a determined information providerinstructions, and transmit the enhanced message as an SMS text messageto one or more information requesters based on predetermined criteria,the predetermined criteria identifying the one or more informationrequesters.

Another method is directed to sending a query over a short-messageservice (SMS) text service responsive to an advertisement, and receivinga responsive short-message service (SMS) text message in response to thequery, the responsive SMS text message including a personalized enhancedmessage including a publicly-accessible link to display a personalizedvideo that combines information from a relational database.

In one embodiment, the responsive short-message service (SMS) textmessage includes metadata collected from a sender of the query viatracking of interactions via a website hosting the advertisement.

In another embodiment, the metadata collected includes real estateinformation related to at least one of a list consisting of property taxdata, data identifying listings in given geographical area, a squarefootage, a number of bathrooms, a number of bedrooms, a price range ofreal estate, school data, data related to criminal activity in ageographical area, data related to recent sales, and data providing anestimate of value of real estate listings.

In one embodiment, a system includes: a processor, a communicationsmodule coupled to the processor, the communications module sending andreceiving short-message service (SMS) text messages, each of the SMStext messages including a phone number and a message body; a databasecoupled to the processor, the database storing data associated with thephone number associated with the SMS text messages; a compiling engineto select information from the database based on the phone number andcreate an enhanced responsive SMS text message.

In addition to the foregoing, other method aspects are described in theclaims, drawings, and text forming a part of the present disclosure.

In one or more various aspects, related apparatus include but are notlimited to circuitry and/or programming for effecting the hereinreferenced method aspects; the circuitry and/or programming can bevirtually any combination of hardware, computer code, and/or firmware inone or more machines or article of manufacture configured to effect theherein referenced method aspects depending upon the design choices ofthe system designer.

BRIEF DESCRIPTION OF FIGURES

FIG. 1 illustrates an exemplary system implementing one or moreembodiments in accordance with the present application.

FIG. 2 illustrates a more detailed exemplary system implementing one ormore embodiments in accordance with the present application.

FIG. 3A illustrates a flow diagram of a method in accordance with anembodiment the present application.

FIG. 3B illustrates another flow diagram of a method in accordance withan embodiment of the present application.

FIG. 4 illustrates a flow diagram of a method in accordance with anembodiment the present application.

FIG. 5 illustrates a data flow diagram in accordance with an embodimentof the present application.

DETAILED DESCRIPTION

In the following detailed description, reference is made to theaccompanying drawings, which form a part hereof. In the drawings,similar symbols typically identify similar components, unless contextdictates otherwise. The illustrative embodiments described in thedetailed description, drawings, and claims are not meant to be limiting.Other embodiments may be utilized, and other changes may be made,without departing from the spirit or scope of the subject matterpresented here.

Referring now to FIG. 1, one embodiment is directed to a system thatenables enhanced responsiveness through interactive messaging. As shown,an interactive messaging system includes a communications network 102enabling communications between phone number server 110 including acarrier service provider module 112 to enable receiving messages usingdifferent modalities, such as SMS text message, HTTP internet-basedmessages and the like. Phone number server 110 includes a system memory111 including an operation system and application programs. Phone numberserver further includes processor 114. Processor 114 is shown coupled tomemory 116. Processor 114 is shown including carrier service providermodule 112, and forwarding module 113.

In one embodiment, phone number server 110 sends and receives textmessages according to embodiments processes directed by modules, such asforwarding module 113 responsive to internal and external events asfurther described herein.

Phone number server 110 includes carrier service provider module 112 andforwarding module 113 enables a centralized number to be responsive toincoming and text messages and to forward information to another serveror servers coupled to the phone number server 110. In one embodiment,phone number server 110 translates messages across a pluralitycommunications protocols and modalities, such as between HTTP and SMS,to enable bi-directional messaging between other entities. For example,in one embodiment, phone number server 110 responds to InternetProtocols and enables communications to mobile devices over cellularnetworks. In one embodiment, phone number server 110 implements a phoneservice that performs the translation of messages and the bi-directionalmessaging between other software services, reachable via InternetProtocols to enable communication between information providers andinformation requesters using phones over common cellular networks. Thus,the phone number server 110 can be implemented on an internal network,or on external networks.

As shown, server 130 is coupled to phone number server 110 viacommunications network 102. Server 130 includes a processor 132 andmemory 140. In one embodiment, server 130 is coupled to phone numberserver 110 via a network connection, such as via a cloud configuration.The network connection communications network 102 between server 110 and130 and can be via intranet, internal network or over an externalnetwork. Communications network 102 can be a cloud network, local areanetwork (LAN) or other network.

Server 130 is shown includes system memory 131 with an operating systemand application programs. Server 130 further includes processor 132including user profile module 141. Processor 132 interacts with memory140. Memory 140 includes a user profile database 142, which holds userprofile data. In one embodiment, user profile database 142 holdsdimensional data in a dynamic relational database about users that caninclude information providers and information requesters. According toone embodiment, database 142 can hold names, phone numbers, emailaddresses and the like as well as transactional data, historical dataand prior messages between information providers and informationrequesters.

In one embodiment, user profile data 142 is a dynamic relationaldatabase organized with one or more data structures. For example,relational database 142 can be organized to hierarchically store theprivate user data and public user data. User profile database 142, inone embodiment, includes a controlled-access hierarchical datacomponent, the controlled access hierarchical data component includingphone number routing information. In one embodiment, dynamic relationaldatabase 142 provides access to the at least one private user profile,such as an information provider's user profile and the private user datavia the hierarchical data structure, the hierarchical data structureincluding at least one identifier associated with each private userprofile, the at least one identifier enabling storing of one or morepre-identified messages. For example, the pre-identified messages caninclude messages between the private user and an information requesteridentified by the at least one identifier.

For example, a private user, in one embodiment, is an informationprovider operating remote communication device 150 storing private datato enable sending text messages via phone number server 110 to remotecommunication device 150 operated by an information requester.

FIG. 1 further illustrates remote communications device 150.Communications device 150 is can be communicatively coupled to phonenumber server 110 to send and receive text messages. In one embodiment,communications device 150 is a mobile device and represents a device ofan information requester. For example, in one embodiment, an informationrequester can be a customer or potential customer.

Remote communication device 150 communicates with phone number server110 via SMS text message or HTTP message or other type of modality torequest information. In one embodiment communication device 150 is asmart phone or other enhanced communication device with a graphical userinterface capable of displaying web pages, text messages and the like.

FIG. 1 further shows remote communication device 160, which iscommunicatively coupled to phone number server 110 via communicationsnetwork. Communication device 160 includes processor 162 and memory 164coupled to processor 162. Memory 164 optionally includes a user profiledatabase accessible to the user of communication device 160. In oneembodiment, communication device 160 represents a device of aninformation provider. For example, in one embodiment, an informationprovider can be a real estate agent or other real estate professionalthat provides information to potential customers, leads, and the like.

Both remote communication device 150 and remote communication device 160include remote application programs to enable web browsing, andinteractions with phone number server 110 and server 130.

In one embodiment, server 130 interacts with phone number server 110 togenerate SMS text messages, to one or more communication devices 150 and160 representing one or more information requesters, customers, leads,and the like, and information providers, agents, and users capable ofremotely interacting with server 130. The SMS text messages sent tocommunication devices 150 are sent from a centralized phone number ofphone number server 110. In one embodiment, phone number server 110sends out machine-generated text message after receiving an indicationto do so from communication device 160 or according to predeterminedparameters, which request is associated with a phone number associatedwith communication device 160.

In one embodiment, after receiving an SMS text message from phone numberserver 110, if communication device 150 responds to the message with aresponsive SMS text message, the response is received at phone numberserver 110, which forwards the message to server 130 for processing.Server 130, according to an embodiment, prepares a responsivecommunication either automatically or after communication withcommunication device 160.

Referring now to FIG. 2, server 130 is shown in further detail. Asshown, according to an embodiment, server 130 includes system memory 131with an operating system and application programs, and processor 132 andmemory 140. Processor 132 includes user profile module 141,communications module 136. As shown, processor further includes customresponse and notification generator 210, data handler 230 and videocombination engine 240, each configured to interact with memory 140.

In one embodiment, custom response and notification generator 210retrieves user profile data via user profile module 134 interacting withmemory 140 to retrieve historical user-related data stored in database142. Processor 132 further includes compiling engine 220 configured toselect information from the retrieved historical user-related data. Inone embodiment, compiling engine determines from the historicaluser-related data at least one public information source.

In one embodiment custom response and notification generator 210determines an access privilege using database 142, private user data,and as a function of the access privilege, retrieves the historicaluser-related data in combination with one or more pre-identifiedmessages. In one embodiment the pre-identified messages are received viaphone server 110, routed from a remote communication device 150 or 160.

In one embodiment, custom response and notification generator 210selects information from the retrieved historical user-related data todetermine at least one public information source, wherein the retrievedhistorical user-related data are determined from prior storeduser-related. For example, in one embodiment, in a real estateenvironment, a public information source can be a Multiple ListingService (MLS) listing publicly available via one or more websites, suchas Zillow™, Realtor.com™ and other websites publicly disclosinginformation about real estate markets. The retrieved historicaluser-related data can include real estate information of interest to theinformation requester such as property tax data, listings in givengeographical area, square footage, number of bathrooms, number ofbedrooms, price range of real estate, school data, criminal activity ina geographical area, recent sales, estimate of value of real estatelistings, and the like.

Processor 132 further includes data handler 230 that works with customresponse and notification generator 210 to retrieve, from the publicinformation source, at least some publicly-accessible information, suchas current real estate information. More particularly, as shown in FIG.2, data from the internet 216 is retrieved, for example via phone numberserver 110 or via an internet connection to communications network 102shown in FIG. 1. Data from the internet 216 can include website searchresults, SMS text messages, and metadata, tracked data from informationrequesters that access a URL associated with server 130 or the like.

Data from the Internet 216 is received at metadata extraction module 202that enables server 130 to extract metadata from information received.Metadata extraction module 202 includes metadata extraction 220 thatextracts phone numbers, identifiers such as names and other information.Webpage extraction 222 enables extraction of tracked webpageinformation, such as number of hits, properties of high interest and thelike. Metadata extraction module 202 further includes informationrequester data tracking extraction 224, which can be implemented as anAPI to receive tracked data

The information extracted can be stored as historical user profile datain relational database 142 and/or in information requester database 232.In one embodiment, information requester database 232 is used to storetext messages, metadata related to an information requester or the like.

Processor 132 further includes video combination engine 240, whichinteracts with memory 140 and compiling engine 220 to combineinformation from the relational database and the publicly-accessibleinformation and create a personalized video.

Memory 140 is shown including user profile database 142. In oneembodiment, user profile database 142 includes private user data andpublic user data.

Referring now to FIG. 3A in combination with FIG. 1 and FIG. 2, a flowdiagram 300 illustrates a method in accordance with an embodiment. Asshown, block 310 provides for receiving, at a server, a short-messageservice (SMS) text message, the SMS text message including a phonenumber associated with the SMS text message, and a message body. Forexample, phone number server 110 or server 130 receives a text messagedirectly or indirectly from either communications device 150 or 160.

Block 320 provides for searching a database coupled to the server toretrieve stored data associated with the phone number associated withthe SMS text message. For example, server 110 or server 130 can becoupled to either an external database holding user-related data. In oneembodiment, the database is relational database 142. The phone numberassociated with the SMS text message received will identify the SMS textmessage as either an information provider, an information requester oran unknown. More particularly, the database coupled to the server canorganize phone numbers such that information providers are segregatedfrom information requesters and unknown phone numbers. In oneembodiment, information providers have similar phone numbers,extensions, or identifiable number combinations to enable the relationaldatabase to quickly identify information providers and store associateddata.

Block 320 includes block 3202, which provides that if there is no phonenumber associated with the SMS text message, determining that themessage is from an unknown information requester. If the message is froman unknown information requester, block 3204 provides, according to oneembodiment, phone number server 110 determines a probable informationprovider/agent according to a last-in-time sent message.

In one embodiment, block 3206 provides that if no last-known sender isdetermined, a search of the received text message is performed to locateidentifying characteristics of a known information provider. Forexample, in one embodiment, the custom response engine 210 searchesmetadata associated with the received text message, including messagebody to locate tags, fields or other indicia of identification such as aname, performs a global search of the relational database 142 to find amatch, and choses an information provider with a closest match.

In one embodiment, block 3208 provides for waiting a period of time, forexample a second or more to allow for a human response time by aninformation requester/customer. According to this embodiment, server 130or 110 performs a search to identify the information provider/agent thatsent the most recent message to the sender of the text message, butignores any messages sent during a designated time. For example, of allmessages sent to a particular information requester/customer, a Booleanfunction, such as an XOR or AND NOT can be performed to identify onlymessages sent to the information requester/customer sent during aparticular time frame, date period, or the like. Such a filter enablesserver 130 to ignore pre-identified broadcast messages sent by server110 or server 130 during an identified time period.

Block 330 provides for bundling the stored data with the message body ofthe SMS text message to create an enhanced message. For example, in oneembodiment, the bundling stored data can include bundling priorinteractions into a message. That message can be forwarded.

Block 340 provides for forwarding according to the determinedinformation provider instructions. For example, server 130 using phonenumber server 110 can forward a text message to an information provider.In one embodiment, if the determined information provider has a protocolin place to automatically respond to information requesters that arepre-identified, a text message can automatically be sent. In anotherembodiment, information provider can interact with the informationrequester directly.

If the information provider has instructions in place, block 350provides for transmitting the enhanced message as an SMS text message toone or more information requesters based on predetermined criteria, thepredetermined criteria identifying the one or more informationrequesters. For example, if the SMS text message is determined to befrom an agent to a centralized phone number or a phone number associatedwith phone number server 110, the text message could includeinstructions for indicating responsive SMS text messages. Moreparticularly, in one embodiment, if a received SMS text message is froman information provider, the phone number would indicate as such. Textmessages from information providers, in one embodiment, areautomatically directed to a metadata search module that pullsinstructions from the message body. For example, if an informationprovider is a real estate agent who wants to broadcast a message to aplurality of real estate customers, the message could include aplurality of phone numbers of information requesters/customers andinstructions to broadcast an identified property for sale or otheridentified message to the plurality of phone numbers.

In one embodiment, if the SMS text message is determined to be from aninformation provider/agent, phone number server 110 automaticallyforwards the message for processing to server 130. Server 130 processesthe message by performing a search using custom response andnotification generator 210 to identify prior messages sent to theinformation provider/agent by an information requester/customer. Customresponse and notification generator 210 can then determine whether aparticular information requester/customer has previously received textmessages from the identified information provider/agent, and determinewhether to send a custom response to the identified informationrequester/customer or to send a failure message back to the informationprovider/agent. In one embodiment, the failure message can include aclarification request to give the information provider/agent anopportunity to identify a phone number or other identifying informationfor an information requester/customer.

In another embodiment, the transmitting the enhanced message as an SMStext message to the one or more information requesters can includedetermining that the SMS text message is not from an agent/informationprovider. In such a case, a search of the relational database 142 candetermine whether the phone number is associated with a pre-existinginformation requester phone number. If the sender is determined to be aninformation requester/customer, an enhanced responsive text message canbe created that includes the bundled data from prior interactions. Inone embodiment, any message received that is determined to be from aninformation requester/customer via a stored phone number, instantiates aresponsive text message directed to an associated informationprovider/agent. More particularly, in one embodiment, the relationaldatabase includes, for each information requester, a phone numberstored, and one or more information provider phone numbers forforwarding purposes.

In one embodiment, if the responsive text is to an associatedinformation provider, such as a real estate agent, the responsive textcan include the information requester/customer phone number and name,and optionally other identifying information, such as email address, ora list of properties that the information requester has previouslyinvestigated, or a list of previous communications from that informationrequester. In one embodiment, the received SMS text message body,together with metadata, can be packaged into a single text message. Theenhanced responsive text message, in one embodiment, is forwarded to oneor more information providers/agents to enable the informationprovider/agent to directly respond to the informationrequester/customer. In one embodiment, either phone number server 110 orserver 130 forwards the enhanced responsive text message.

In one embodiment, received text messages from informationrequesters/customers that are identified as associated with a particularinformation provider/agent are automatically responded to as if from theassociated information provider/agent. In this embodiment, the automatedresponse is developed from metadata derived from a search of therelational database 142 for data associated with the informationprovider/agent phone number. For example, as shown in FIG. 2, metadataextraction module 202 providing information to information requesterdatabase 232 can enable metadata embedded in the enhanced reply messageto the information requester/customer can include the informationprovider/agent phone number and name, and email address, and otherinformation pre-chosen by the information provider/agent. The messagebody (which can include an information provider's/agent's reply)together with configured metadata, can be packaged into a single textmessage which is forwarded via server 130 to the informationrequester/customer by phone number server 110.

In one embodiment, if a database such database 142 or informationrequester database 232 fails to determine one or more informationprovider phone numbers, the responsive text message will automaticallysend an error message to the information requester indicating a failureto process a reply.

Referring now to FIG. 3B in combination with FIG. 1 and FIG. 2, a flowdiagram illustrates a method in accordance with an embodiment. Block 360provides for receiving a request to access private user data stored in arelational database. For example, a request can be in a form of a textmessage or a direct access request from an information provider, such asa real estate agent. Block 362 provides for determining an accessprivilege to provide access to a private user profile and the privateuser data. Referring to FIG. 2, the text message can include a userinformation provider accessing private user data via database 142 or thelike. Block 364 provides for retrieving, using the private user profile,historical user-related data. For example, FIG. 2 illustrates memory 140including information requester database 232, and database 142 includingprivate user data and public user data and user profile data. Block 366provides for selecting information from the retrieved historicaluser-related data to determine at least one public information source toaccess. For example, in one embodiment, historical user-related data caninclude private user data or public user data stored in database 142.Block 368 provides for extracting, via a data handler, from the publicinformation source, at least some publicly-accessible information. Forexample, data handler 230 can extract via metadata extraction module 202and webpage extraction module 222 information about real estatelistings, property tax information and the like. Block 370 provides forcombining via a video combination engine, the selected information fromthe relational database and at least some of the extractedpublicly-accessible information to create a personalized video. Forexample, video combination engine 240 can combine information fromdatabase 142, 232, or metadata database 220. Block 372 provides forcreating a publicly-accessible link to display the personalized video.For example, a link, such as a URL address can enable access to server130 to play a video created by video combination engine 240.

In one embodiment, database 142 includes a hierarchical data structure,the hierarchical data structure including at least one identifierassociated with each private user profile, the at least one identifierto database storing one or more pre-identified messages. Thepre-identified messages can be text messages sent to and from aninformation provider and an information requester.

The hierarchical data structure can provide controlled access to ahierarchical data component including phone number routing information.

Database 142 can include a dynamic relational database that providesaccess to the at least one private user profile and the private userdata via a hierarchical data structure, the hierarchical data structureincluding at least one identifier, such as a phone number, associatedwith each private user profile, the at least one identifier to databasestoring one or more pre-identified messages. Thus, the pre-identifiedmessages can include messages between the private user and a customeridentified by a phone number.

In one embodiment, the custom response and notification generatordetermines the access privilege, and as a function of the accessprivilege, and retrieves the historical user-related data, such aslocated in metadata 220 and in information requester database 232 incombination with one or more pre-identified messages.

In one embodiment, custom response and notification generator 210selects information from the retrieved historical user-related data fromdatabase 142 to determine at least one public information source,wherein the retrieved historical user-related data are determined fromprior stored user-related data.

Referring now to FIG. 4, one embodiment is directed to a method forcreating and operating the user profile database located in memory 140of server 130.

Block 410 provides for loading a list of contacts. For example, userprofile database 142 can be formed via loading a list of contactsdirectly in the server 130's memory 140. Block 420 provides fordetecting contacts by email address, phone number, or by other types ofidentification.

Block 420 provides for connecting to a second device, such ascommunication device 150 and detecting a list of contacts for loadinginto memory 140.

Block 430 provides for enabling a display of the list of contacts toenable a notification to be sent to all of the information requestersbased on the respective email addresses, phone numbers, and designatedidentifiers.

Block 440 provides for sending an email notification and/or a textmessage notification. In another embodiment, block 4402 provides forsending a notification to a user/information provider to enable the userto select a contact. For example, server 130 can send a notification toa user device, such as communication device 160 to select one or more ofthe contacts to enable a text or email notification to be sent to theselected information requesters.

Block 450 provides for creating an enhanced notification by inserting auniversal resource locator (URL) address that is mapped by server 130 tothe information requester's address or phone number or otheridentification. The URL enables the corresponding web page associatedwith the URL address at server 130 to display a personalized message,offer, or other information based on the individual informationrequester.

Block 460 provides for sending via the notification, one or more ofmessages, offers, or other information such as images, playable videos,or other text via a prompt or series of prompts, capable of beingdisplayed on an information requester device, such as communicationdevice 160 after accessing the notification. Communication device 160can display different webpages or styles of webpages based on theselection of the types of information that is requested or theparticular subject matter of the notification. Certain characteristicsof the images and videos displayed on the webpage can be determinedbased on a particular input or pre-determined parameters.

In one embodiment, user profile module 134 interacts with user providedatabase 142, compiling engine 220, data handler 230 and videocombination engine 240 to transmit messages that include alerts for asale tailored for a specific group of items or properties. Specifically,server 130, prepares messages for sending to different contacts.

In one embodiment, the alert for the sale or offer for a sale of acommercial item or property, an update of a particular business market.In one embodiment, the displayed information or subject matter can betailored to include only a single business market or multiplebusinesses. In another embodiment, the displayed information or subjectmatter is tailored to a particular geographical location. In otherembodiments, the displayed information or subject matter is an alert fora sale or offer of a sale for multiple commercial items or properties.The alert can include displayed information and subject matter selectedby a predetermined price range. In other embodiments, subject matter ofan alert is selected by specifying certain characteristics of thedesired commercial item or property, such as color, size, shape, orcondition.

In other embodiments, a combination of parameters is specified tonarrowly tailor an alert. In some embodiments, these parameters areselected via a graphical user interface executing on communicationdevice 150. In other embodiments, these parameters are selected on thewebpage that is displayed to the information requester of thenotification via communication device 160, for example, based on theinformation requester's history or browsing habits as recorded inmetadata 220.

In one embodiment, the compiling engine 220, data handler 230 and videocombination engine 240 work with custom response and notificationgenerator 210 executing on the server 130 to send notifications toinformation requesters at pre-determined times. In other embodiments,server 130 is configured to send notifications/alerts to informationrequesters at a pre-determined frequency. In some embodiments, thesepre-determined times and frequencies are altered in a screen displayedby the via a graphical user interface executing on either server 130 oron a communication device, such as communication device 160 networked toserver 130. In other embodiments, the pre-determined times andfrequencies can be altered in the displayed webpage that is sent via URLaddress to the information requester. In some embodiments, thenotifications are sent to information requesters when a certain eventoccurs. In some embodiments, this event is the sale of a commercial itemor property, or the announcement of the availability of a commercialitem or property for sale. In other embodiments, this event is apromotional offer. In other embodiments, the event is an informationalmessage or advertisement. In some embodiments, the event is triggered ata pre-determined time or frequency or based on the selected parameters.In other embodiments, the server 130 is configured to send anotification when a particular command or prompt is entered.

In another embodiment, adjusting the timing and frequency of thenotifications/alerts is based on the information requester's history ofactivity and browsing habits. More particularly, referring to FIG. 5, inone embodiment, the requesters history of activity and browsing habitsis collected by collecting metadata.

As shown in FIG. 5, in one embodiment, a requester sends a message orvisits a webpage that results in an opportunity for metadata collection.Data 510 represents information requesters message or webpage visited.In accordance with an embodiment, metadata present via the visiting thewebpage, sending a message or having javascript running on aninformation requester's communication device results in collection ofmetadata. Thus, as shown, based on the message/webpage, information caninclude time stamp extraction 520, phone number extraction 530, dateextraction 540, and/or webpage extraction 550. This data can be combinedinto metadata saving 560 and sent to a metadata database 220, that canbe part of server 130. Once metadata 570 is stored in server 130, thatare information requester specific, metadata 570 can incorporate theinformation to enable enhanced responsive messages. In one embodiment,metadata database 220 is operably coupled to user profile database 142.

Referring back to FIG. 2, User Feedback Database 232 can includemetadata pulled from metadata database 570 or directly tracked data viaan application programming interface (API) or other method of trackingactions taken by an information requester. In one embodiment, data isreceived directly from an information requester when the informationrequester opens a webpage sent via text message URL or other modality.For example, java script instantiated on an information requester'sdevice can include the following script:

  ExtPlayerController.prototype.onViewInit = function( ) {   var self =this;   this.reportAction({ action: ‘open’, data : this.sourceProperty});   if (this.autoPlay) {    this.view.showVideo( );   } else {   this.view.showCTA(‘skip’);

The reportAction method in java script sends the actions performed bythe information requester to a tracking API along with some associatedmetadata such as metadata database 220. In one embodiment the APIrequest is handled by server 130 and results in the activity beingrecorded in metadata 220. A sample code used to load metadata 220 asshown in FIG. 5 is as follows:

  INSERT INTO actions(vCode,theDate,theAction,contactID,user_id,property_id,comm,viewer)  VALUES ($insVCode,NOW( ),‘$action’,$insContact,$user_id,$insProp, $insComm,$insViewer);

Referring back to FIGS. 1 and 2, in one embodiment, after thancollecting metadata actions taken by an information requester,

In another embodiment, the server 130 tracks and store an informationrequester's web-browsing habits, such as particular URL addressesvisited or frequented, or particular phrases or subject matter searchedfor by a information requester. In such an embodiment, server 130receives metadata from one or more messages received from communicationdevices 150 or from server 110 or the like and compares the identifiedusers in user profile database for searched subject matter, history, andhabits with subject matter or events already stored in the server 130,memory 140. Any matching subject matter or event triggers server 130 toassemble a playable video, webpage, or other notification forcommunication to the identified information requestor/customer regardingevents or similar subject matter.

In another embodiment, server 130 is responsive to communications fromcommunication device 150, 160 that indicate a direction to assemble aplayable video, webpage, or other notification for communication to aninformation requestor/customer regarding the event or similar subjectmatter.

In one embodiment, when an information requester using communicationdevice 150 views a webpage via a URL associated with server 130, server130 receives via data from the internet 216 or via a text messagethrough phone number server 110, and server 130 detects an event orsubject matter of interest to an identified information requester basedon information requester database 232, an alert is sent via customresponse and notification generator 210.

According to an embodiment, custom response and notification generator210 in combination with user profile module 141 determines, based on theprofile data, that server 130 should send out a notification to aninformation requester regarding the particular event or subject matter.In one embodiment, the server 130 is configured to assemble via videocombination engine 240, a playable video or image or message inconnection with the specific event or subject matter that caused thealert to be sent from server 130. In this embodiment, the server 130 isconfigured to transform the playable video or image or message into aURL address, which is then sent to the information requester as anotification. In another embodiment, the playable video is assembled bypiecing together a number of video templates or components alreadystored in the server 130's memory 140.

In one embodiment, server 130 using video combination engine 240 isconfigured to assemble playable videos based on an informationrequester's predetermined parameters for receiving notifications. Inanother embodiment, the server 130 is configured to also assembleplayable videos based on the information requester's playable videowatching habits and history. The assembled videos can be formed andstored with a URL address stored on server 130, which URL is sent viaphone number server 110 to one or more information requesters.

In another embodiment, the phone number server 110 is configured toreceive an input command via a text message from an informationrequester over remote communication device 150 to send an alert to theserver 130 to trigger a notification. In other embodiments, the server130 is configured to directly receive an input command to send out thealert to an information requester. The input commands are specificallytailored to the information requester based on pre-determined parameterssuch as a particular event or subject matter. In other embodiments, theinput command includes a promotion or other message based on theinformation requester's pre-determined parameters for receivingnotifications.

In one embodiment, the text message includes information related to theoccurrence of a specific event that is pre-determined. In otherembodiments, the text message includes promotional information or anoffer that was input via a command to either the first or secondcomputer code. In one embodiment, the text message includes a URLaddress that is linked to a webpage. In other embodiments, the URLaddress links to a playable video. In yet other embodiments, the URLaddress links to an image.

In one embodiment, the server 130 is configured to track via trackingenabled on a remote communication device 150 or 160 the number of timesa particular URL address has been clicked. Server 130 is furtherconfigured to store the number of clicks in its memory to be laterrecalled. In another embodiment, server 130 is further configured totrack how many unique information requesters have clicked or use aparticular URL address. The tracking can be stored in metadata database220.

In one embodiment, the URL address sent to an information requesterlinks to a playable video. The server 130 is configured to assemble theplayable videos via video. The server 130 is further configured to storemultiple templates and components for use in assembling the playablevideos. These templates and components include animations, on-camerafootage of an individual speaking or performing a particular act, videofootage of a particular commercial item or property, video footage of ageographical location, a photograph or a series of photographs played insuccession, data displayed via text, data displayed via an image orgraphics, data displayed via text in association with a video,background music, or an individual speaking a particular phrase ordescribing something or offering a greeting.

In one embodiment, the URL address links to a playable video or webpagethat includes music. In another embodiment, the server 130 is configuredto play music based upon a specific information requester'spre-determined parameters or history or habits stored in user profiledatabase 142. In another embodiment, server 130 is configured to playmusic based upon a specific information requester's URL address usehistory, which is tracked and stored by the server 130 via metadatadatabase 220. In one embodiment, the URL is altered to be responsive tothe tracked metadata. For example, metadata can be analyzed for soundlevels in a playable video or webpage and reduce or increase thebackground music over time. In another embodiment, user profile data andinformation requester database 232 operate with custom response andnotification generator 210 to mute the background music in the playablevideo or webpage.

In one embodiment, the server 130 via is configured to track and storethe number of clicks or uses a particular URL receives via metadata 220.In one embodiment in which the URL address links to a playable video,the server 130 is configured to track and store the amount of time ittakes to download the playable video. In another embodiment, the server130 is configured to track and store the start and stop times for theplayable video. In a further embodiment, the server 130 is configured totrack and store the start and stop times for specific sequences of theplayable video. This data is tracked and stored by the server 130 forpredicting an information requester's playable video watching habits.The server 130 is also configured to analyze the data for determiningwhat subject matter a particular information requester is mostinterested in, as well as particular times of day the informationrequester is active in accessing various URL address links, or if ainformation requester is more prone to viewing a webpage or playablevideo based on a particular design aspect or message. This analysis ofdata is taken into account when the server 130 is configured to notifyinformation requesters of particular events or when an input command tosend a notification is received by the server 130

After a playable video has concluded or the information requester hasmanually stopped the playable video, the server 130 is configured todisplay a number of prompts to the information requester. In oneembodiment, the prompt is a command to call a sales person associatedwith the playable video. In another embodiment, the prompt is a commandto text a sales person associated with the playable video. In anotherembodiment, the prompt is a command to determine whether the playablevideo was relevant to the information requester or not. In anotherembodiment, the prompt is a command to determine whether the informationrequester enjoyed the particular subject matter of the playable video.In another embodiment, the prompt is a command to enter a messagewherein the information requester can write a review of the playablevideo, the subject matter, or the experience generally. In anotherembodiment, the prompt is a command to rank the playable video. In yetanother embodiment, the prompt is a command to view more information onthe subject matter. In another embodiment, the prompt is a command toreplay the playable video. In another embodiment, the prompt is acommand to view other subject matter that was recently viewed by theinformation requester. In yet another embodiment, the prompt is acommand to view playable videos, images, messages, or othernotifications regarding similar subject matter or events. In yet anotherembodiment, the prompt is a command to customize the parameters fordetermining what subject matter the information requester is notifiedof. In yet another embodiment, the prompt is a command to customize theparameters for receiving notifications generally.

In another embodiment, the prompt is a command to subscribe to futurenotifications regarding the particular subject matter. In anotherembodiment, the prompt is a comment to subscribe to future notificationsfrom the particular sales associate associated with the playable videoand subject matter. Commanding the server 130 to subscribe theinformation requester to future notifications from a particular salesassociate will enable the information requester to receive custommessages and notifications from the sales associate regarding a varietyof subject matter.

In one embodiment, the prompt is a command to download the playablevideo onto the information requester's device. When a playable video isdownloaded, the server 130 is configured to track the download and sendan alert to a sales associate associated with the playable video. Theserver 130 is configured to communicate to the sales associate how muchof the playable video was watched. In another embodiment, the server 130is also configured to communicate to the sales associate what promptswere initiated by the information requester after the playable videoconcluded. In another embodiment, the server 130 is configured to promptthe sales associate to contact the information requester via email,text, voice call, or any other form of communication.

In another embodiment, the server 130 is configured to create groupingsor lists of information requesters based on shared similar customparameters, such as commercial items or properties interested in, priceranges, or music preferences, or any other parameter. When aninformation provider is prompted by the server 130 that a informationrequester has subscribed to that particular information provider/salesassociate, the server 130 is configured to receive a command placing theinformation requester into any of the server 130's groupings or listsfor future notifications based on that specific group's or list's customparameters.

Note that various hardware elements of one or more of the describedembodiments are referred to as “modules” that carry out (perform,execute, and the like) various functions that are described herein inconnection with the respective modules. As used herein, a moduleincludes hardware (e.g., one or more processors, one or moremicroprocessors, one or more microcontrollers, one or more microchips,one or more application-specific integrated circuits (ASICs), one ormore field programmable gate arrays (FPGAs), one or more memory devices)deemed suitable by those of skill in the relevant art for a givenimplementation. Each described module may also include instructionsexecutable for carrying out the one or more functions described as beingcarried out by the respective module, and those instructions may takethe form of or include hardware (or hardwired) instructions, firmwareinstructions, computer code instructions, and/or the like, and may bestored in any suitable non-transitory computer-readable medium or media,such as commonly referred to as RAM or ROM.

Although features and elements are described above in particularcombinations, one of ordinary skill in the art will appreciate that eachfeature or element may be used alone or in any combination with theother features and elements. In addition, the methods described hereinmay be implemented in a computer program, computer code, or firmwareincorporated in a computer-readable medium for execution by a computeror processor. Examples of computer-readable storage media include, butare not limited to, a read only memory (ROM), a random access memory(RAM), a register, cache memory, semiconductor memory devices, magneticmedia such as internal hard disks and removable disks, magneto-opticalmedia, and optical media such as CD-ROM disks, and digital versatiledisks (DVDs). A processor in association with computer code may be usedto implement a radio frequency transceiver for use in a WTRU, UE,terminal, base station, RNC, or any host computer.

I claim:
 1. A method for an interactive messaging service comprising:receiving, at a server, a short-message service (SMS) text message, theSMS text message including a phone number associated with the SMS textmessage, and a message body; searching a database coupled to the serverto retrieve stored data associated with the phone number associated withthe SMS text message; bundling the stored data with the message body ofthe SMS text message to create an enhanced message including apublicly-accessible information link to display a video; forwarding theenhanced message according to predetermined information providerinstructions; and transmitting the enhanced message as an SMS textmessage to one or more information requesters based on the predeterminedcriteria.
 2. The method of claim 1 wherein the searching the databasecoupled to the server includes: determining that the SMS text message isfrom an unknown information requester if there is no phone numberassociated with the SMS text message.
 3. The method of claim 1 whereinthe searching the database coupled to the server includes: determining aprobable information provider according to a last-in-time sent messageif the SMS text message is from an unknown information requester; andforwarding according to the determined probable last-in-time sentmessage.
 4. The method of claim 1 wherein the searching the databasecoupled to the server includes: performing a search of the received SMStext message to locate identifying characteristics of a knowninformation provider if no last-in-time sent message identifies aninformation provider.
 5. The method of claim 1 wherein the bundling thestored data with the message body of the SMS text message to create anenhanced message includes: personalizing the enhanced message to includesender-identity information; combining metadata according include in theenhanced message the publicly-accessible link to display thepersonalized video via a video combination engine to combine informationfrom a relational database.
 6. The method of claim 1 wherein thesearching a database coupled to the server to retrieve stored dataassociated with the phone number associated with the SMS text messageincludes: retrieving metadata collected from an information requestervia tracking of interactions of the information requester on a websiteassociated with the server.
 7. The method of claim 6 wherein themetadata is collected includes real estate information related to one ormore of property tax data, data identifying listings in givengeographical area, a square footage, a number of bathrooms, a number ofbedrooms, a price range of real estate, school data, data related tocriminal activity in a geographical area, data related to recent sales,and data providing an estimate of value of real estate listings.
 8. Asystem, comprising: a processor, a memory comprising computer codeexecuted using the processor, in which computer code implements:receiving a short-message service (SMS) text message, the SMS textmessage including a phone number associated with the SMS text message,and a message body; searching the memory to retrieve stored dataassociated with the phone number associated with the SMS text message;bundling the stored data with the message body of the SMS text messageto create an enhanced message including a publicly-accessibleinformation link to display a video; a transceiver coupled to thememory, the transceiver configured to: forward the enhanced messageaccording to a determined information provider instructions; andtransmit the enhanced message as an SMS text message to one or moreinformation requesters based on predetermined criteria, thepredetermined criteria identifying the one or more informationrequesters.
 9. The system of claim 8, wherein memory includes a dynamicrelational database organized with at least one data structure.
 10. Thesystem of claim 8, wherein the relational database hierarchically storesthe predetermined criteria identifying the one or more informationrequesters.
 11. The system of claim 9, wherein the data structureprovides controlled access to a hierarchical data component includingphone number routing information.
 12. The system of claim 9 wherein thedynamic relational database provides access to one or morepre-identified messages.
 13. The system of claim 12 wherein thepre-identified messages include messages to or from the one or moreinformation requesters identified by a phone number associated with theSMS text message.
 14. The system of claim 8 wherein the databaseorganizes a plurality of information providers according to alast-in-time sent message from each of the plurality of informationproviders.
 15. The system of claim 8 wherein database organizes aplurality of information providers according to identifyingcharacteristics to enable a search of the received SMS text message formatching identifying characteristics.
 16. A method comprising: sending aquery over a short-message service (SMS) text service responsive to anadvertisement; and receiving a responsive short-message service (SMS)text message in response to the query, the responsive SMS text messageincluding a personalized enhanced message including apublicly-accessible link to display a personalized video that combinesinformation from a relational database.
 17. The method of claim 16wherein the responsive short-message service (SMS) text message includesmetadata collected from a sender of the query via tracking ofinteractions via a website hosting the advertisement.
 18. The method ofclaim 16 wherein the metadata collected includes real estate informationrelated to at least one of a list consisting of property tax data, dataidentifying listings in given geographical area, a square footage, anumber of bathrooms, a number of bedrooms, a price range of real estate,school data, data related to criminal activity in a geographical area,data related to recent sales, and data providing an estimate of value ofreal estate listings.
 19. A method for an interactive messaging servicecomprising: receiving, at a server, a message including a phone numberand a message body; searching a database coupled to the server toretrieve stored data associated with the phone number associated withthe message; bundling the stored data with the message body of themessage to create an enhanced message including a publicly-accessibleinformation link to display a video; forwarding the enhanced messageaccording to predetermined information provider instructions; andtransmitting the enhanced message to one or more information requestersbased on the predetermined criteria.